﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using BUS;
using VO;
namespace ManagementBooks
{
    public partial class ThongKe : Form
    {
        HoaDon_BUS _HoadonBUS = new HoaDon_BUS();
        SachBUS _SachBUS = new SachBUS();
        public ThongKe()
        {
            InitializeComponent();
        }
        string TongtienallHDXuat;
        private void TinhTongTienallHDXuat()
        {
            float sum = 0;
            for (int i = 0; i < grvHDXuat.Rows.Count; i++)
            {
                sum += _SachBUS.toFloat(grvHDXuat["TongTien1", i].Value.ToString());
            }
            TongtienallHDXuat = String.Format("{0:0,0}", sum);
        }
        private void LoadAll()
        {
            grvSanpham.DataSource = _HoadonBUS.ThongkeSanPham();
            lbTongHangTon.ForeColor = Color.Blue;
            this.lbTongHangTon.Text = "Có tổng số : " + grvSanpham.RowCount.ToString() + " sản phẩm";
            TinhTongTienall();
            this.lbTongTienHang.ForeColor = Color.Blue;
            this.lbTongTienHang.Text = TongtienallSP;
        }
        string TongtienallSP;
        private void TinhTongTienall()
        {
            float sum = 0;
            for (int i = 0; i < grvSanpham.Rows.Count; i++)
            {
                sum += _SachBUS.toFloat(grvSanpham["TongTien", i].Value.ToString());
            }
            TongtienallSP = String.Format("{0:0,0}", sum);
        }

        private void ThongKe_Load(object sender, EventArgs e)
        {
            LoadAll();
            LoadCBBsanpham();
        }
        private void LoadCBBsanpham()
        {
            cbbTenSP.DataSource = _SachBUS.showsach();
            cbbTenSP.DisplayMember = "TenSach";
            cbbTenSP.ValueMember = "TenSach";
            this.cbbTenSP.AutoCompleteMode = AutoCompleteMode.Suggest;
            this.cbbTenSP.AutoCompleteSource = AutoCompleteSource.ListItems;
            cbbTenSP_SelectedIndexChanged(null, null);

        }

        private void cbbTenSP_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbbHDnam.SelectedIndex == 0)
            {
                grvNam.DataSource = _HoadonBUS.LuuLuongNhapTheoNam(cbbTenSP.SelectedValue.ToString());
            }
            if (cbbHDnam.SelectedIndex == 1)
            {
                grvNam.DataSource = _HoadonBUS.LuuLuongXuatTheoNam(cbbTenSP.SelectedValue.ToString());
            }
        }

        private void btDong_Click(object sender, EventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("Bạn có chắc muốn thoát hay không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                Application.Exit();
            }
        }

        private void btHien_Click(object sender, EventArgs e)
        {
            if (GrvDanhSachHD.Rows.Count == 0)
            {
                lbTong.ForeColor = Color.Red;
                lbTong.Text = "Không có hoá đơn nào trong tháng này !";
                lbTongHDxuat.ForeColor = Color.Red;
                lbTongHDxuat.Text = "Không có hoá đơn nào trong tháng này !";
                lbTongTienXuat.ResetText();
                lbTongTien.ResetText();
            }
            if (rdT1.Checked == true)
            {
                int a = 1;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
            }
            if (rdT2.Checked == true)
            {
                int a = 2;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT3.Checked == true)
            {
                int a = 3;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT4.Checked == true)
            {
                int a = 4;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT5.Checked == true)
            {
                int a = 5;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT6.Checked == true)
            {
                int a = 6;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT7.Checked == true)
            {
                int a = 7;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT8.Checked == true)
            {
                int a = 8;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT9.Checked == true)
            {
                int a = 9;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT10.Checked == true)
            {
                int a = 10;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT11.Checked == true)
            {
                int a = 11;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
            if (rdT12.Checked == true)
            {
                int a = 12;
                GrvDanhSachHD.DataSource = _HoadonBUS.ThongKeHoaDonNhapTheoThang(a);
                lbTong.ForeColor = Color.Blue;
                this.lbTong.Text = "Có tổng số : " + GrvDanhSachHD.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDNhap();
                lbTongTien.ForeColor = Color.Blue;
                lbTongTien.Text = TongtienallHDNhap;
                grvHDXuat.DataSource = _HoadonBUS.ThongKeHoaDonXuatTheoThang(a);
                lbTongHDxuat.ForeColor = Color.Blue;
                lbTongHDxuat.Text = "Có tổng số : " + grvHDXuat.RowCount.ToString() + " hoá đơn";
                TinhTongTienallHDXuat();
                lbTongTienXuat.ForeColor = Color.Blue;
                lbTongTienXuat.Text = TongtienallHDXuat;
            }
        }
        string TongtienallHDNhap;
        private void TinhTongTienallHDNhap()
        {
            float sum = 0;
            for (int i = 0; i < GrvDanhSachHD.Rows.Count; i++)
            {
                sum += _SachBUS.toFloat(GrvDanhSachHD["Gia", i].Value.ToString());
            }
            TongtienallHDNhap = String.Format("{0:0,0}", sum);
        }

        private void grvHDXuat_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            for (int i = 0; i < grvHDXuat.RowCount; i++)
                grvHDXuat.Rows[i].Cells[0].Value = i + 1;
        }

        private void grvSanpham_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            for (int i = 0; i < grvHDXuat.RowCount; i++)
                grvHDXuat.Rows[i].Cells[0].Value = i + 1;
        }

        private void grvNam_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            for (int i = 0; i < grvHDXuat.RowCount; i++)
                grvHDXuat.Rows[i].Cells[0].Value = i + 1;
        }

        private void GrvDanhSachHD_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            for (int i = 0; i < grvHDXuat.RowCount; i++)
                grvHDXuat.Rows[i].Cells[0].Value = i + 1;
        }
    }
}
